/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//window.onload = cargaCiudades();
window.onunload = muestraCartelera();

var cd = null;
var emp = null;
var suc = null;
var pagina = 1;
var idBillBoard = 0;
var longitud=0;
var latitud= 0;
var nombreCine = "";
var horaFuncion = "";
    
$(document).ready(function() {  
    var act = new Object();
    act.accion = 1;
    
    try{
        $.ajax({
            type: "POST",
            url: "ConsultaCarteleraServlet",
            data: JSON.stringify(act),
            error: callbackError,
            success: cargaDatos
        });
    } catch(ex) {
        alert(ex.description);
    }
});
    
function muestraCartelera(){
    //Verifica si la cadena contiene parametro.
    if(location.href.indexOf("?") != -1){
        enviado=location.href.split("?");//Separa el Path de los paramtros
        igualdades=enviado[1].split("&");//Separa cada parametro en un array 
        var valores = new Array();
        var valor = "";
        for(a=0;a<igualdades.length;a++){//Recorre el array
            valor = igualdades[a].split("=");//Separa el id del valor.
            valores[a] = valor;//se asigna el resultado a otro array (por consecuente el array valores se convierte en array bidimensional).
        }
        //verifica si el id de los parametros es "cartelera".
        if(valores[0][1] == "cartelera"){
            //Busca Cartelera
            var act = new Object();
            act.accion = 4;
            act.cine = valores[3][1];//id de sucursal
            
            try{
                $.ajax({
                    type: "POST",
                    url: "ConsultaCarteleraServlet",
                    data: JSON.stringify(act),
                    error: callbackError,
                    success: loadBillBoard
                });
                
            //                $.get("ConsultaCarteleraServlet",
            //                JSON.stringify(act),loadBillBoard
            //                );
            } catch(ex) {
                alert(ex.description);
            }
        } else if (valores[0][1] == "taquilla"){
            ///Taquilla.jsp?id=taquilla&cine=1&pelicula=1&hora=3:00
            horaFuncion = valores[3][1];
            var act = new Object();
            act.accion = 5;
            act.cine = valores[1][1];//id de cine
            act.pelicula = valores[2][1];//id de pelicula
            act.hora = valores[3][1];//id de hora
            
            try{
                //                $.ajax({
                //                    type: "POST",
                //                    url: "ConsultaCarteleraServlet",
                //                    data: JSON.stringify(act),
                //                    error: callbackError,
                //                    success: loadTaquilla
                //                });
                
                $.post("ConsultaCarteleraServlet",
                    JSON.stringify(act),
                    loadTaquilla
                    );
                    
                $.post("ConsultaCarteleraServlet",
                    JSON.stringify(act),
                    loadTaquilla
                    );
            } catch(ex) {
                alert(ex.description);
            }
        }
    }
}

function cargaDatos(data){
    var json = data;
    var contenido = "";
    contenido += ("<option value='0'>Ciudad</option>");
    for (var i = 0; i < json.length;i++) {
        var c = json[i];
        contenido += ("<option value='"+ c.id +"'>" + c.ciudad + "</option>");
    }
    document.getElementById("ciudades").innerHTML=contenido;
}


function cargaDatosEmpresas(data){
    var contenido = "";
    contenido += ("<option value='0'>Empresa de cine</option>");
    var json = data;
    for (var i = 0; i < json.length;i++) {
        var c = json[i];
        contenido += ("<option value='"+ c.id +"'>" + c.company + "</option>");
    }
    document.getElementById("empresas").innerHTML=contenido;
}

function cargaDatosSucursales(data){
    var contenido = "";
    contenido += ("<option value='0'>Cine Local</option>");
    var json = data;
    for (var i = 0; i < json.length;i++) {
        var c = json[i];
        contenido += ("<option value='"+ c.id +"'>" + c.name + "</option>");
    }
    document.getElementById("sucursales").innerHTML=contenido;
}

function loadBillBoard(data){    
    var json = data.billboard;
    //Fecha actual de cartelera
    var meses = new Array ("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
    var f=new Date();
    document.getElementById("dateBB").innerHTML = f.getDate() + " de " + meses[f.getMonth()] + " de " + f.getFullYear();
    var funciones = "";
    var numMovies = Object.keys(json.schedules).length;
    var schedules = json.schedules;
    
    for (var i = 0; i < numMovies;i++) {
        funciones += ("<tr>");
        funciones += ("<td><a href=''><img class='imgCartelera' src='peliculas/" + schedules[i].movie.image + "'/></a></td>");
        funciones += ("<td><h4 class='titleMovie'>" + schedules[i].movie.name+ "</h4>");
        funciones += ("" + schedules[i].type + "");
        funciones += ("<br/>" + schedules[i].language + "<br/>");
                
        var numHours = Object.keys(schedules[i].schedules).length;
        var hours = schedules[i].schedules;
        for(var j = 0; j < numHours; j++){
            funciones += ("<a href='Taquilla.jsp?id=taquilla&cine=" + data.id +"&pelicula="+ schedules[i].movie.id +"&hora=" + hours[j] +"' >" + hours[j] + "</a>");
        }
        funciones += ("</td></tr>");
           
    }
    longitud = data.latitud;
    altitud = data.altitud;
    nombreCine = data.name;
    initializeMap();
    var infoCine = "";
    infoCine +="<h3>Sucursal</h3>";
    infoCine += "<p>"+data.name+"</p>";
    infoCine +="<h3>Dirección</h3>";
    infoCine += "<p>"+data.address+"</p>";
    infoCine +="<h3>Teléfono</h3>";
    infoCine += "<p>"+data.phone+"</p>";   
  
    document.getElementById("informacionCine").innerHTML=infoCine; 
    document.getElementById("funciones").innerHTML=funciones;
    acordion();
}

function loadTaquilla(data){    
    var cine = data[0];
    var pelicula = data[1];
    document.getElementById("nomCine").innerHTML = cine.name;
    //INFORMACION CINEE..
    var infoCine = "";
    infoCine += "<tr><td>Direccion</td><td>" + cine.address + "</td><td></td><td></td></tr>";
    infoCine += "<tr><td>Telefono</td><td>" + cine.phone + "</td><td></td><td></td></tr>";
    infoCine += "<tr><td>Pelicula</td><td>" + pelicula.name + "</td><td></td><td></td></tr>";
    infoCine += "<tr><td>Hora Funcion</td><td>" + data[2] + "</td><td></td><td></td></tr>";
    document.getElementById("info").innerHTML = infoCine;
    //INFOMRACION BOLETOS...
    //Fecha actual de cartelera
    //    var meses = new Array ("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
    //    var f=new Date();
    //    document.getElementById("dateBB").innerHTML = f.getDate() + " de " + meses[f.getMonth()] + " de " + f.getFullYear();
    //    var funciones = "";
    //    var numMovies = Object.keys(json.schedules).length;
    //    var schedules = json.schedules;
    //    
    //    for (var i = 0; i < numMovies;i++) {
    //        funciones += ("<tr>");
    //        funciones += ("<td><a href=''><img class='imgCartelera' src='peliculas/" + schedules[i].movie.image + "'/></a></td>");
    //        funciones += ("<td><h4 class='titleMovie'>" + schedules[i].movie.name+ "</h4>");
    //        funciones += ("" + schedules[i].type + "");
    //        funciones += ("<br/>" + schedules[i].language + "<br/>");
    //                
    //        var numHours = Object.keys(schedules[i].schedules).length;
    //        var hours = schedules[i].schedules;
    //        for(var j = 0; j < numHours; j++){
    //            funciones += ("<a href='Taquilla.jsp?id=taquilla&cine=" + data.id +"&pelicula="+ schedules[i].movie.id +"&hora=" + hours[j] +"' >" + hours[j] + "</a>");
    //        }
    //        funciones += ("</td></tr>");
    //           
    //    }
    longitud = cine.latitud;
    altitud = cine.altitud;
    nombreCine = cine.name;
    initializeMap();
//    var infoCine = "";
//    infoCine +="<h3>Sucursal</h3>";
//    infoCine += "<p>"+data.name+"</p>";
//    infoCine +="<h3>Dirección</h3>";
//    infoCine += "<p>"+data.address+"</p>";
//    infoCine +="<h3>Teléfono</h3>";
//    infoCine += "<p>"+data.phone+"</p>";   
//  
//    document.getElementById("informacionCine").innerHTML=infoCine; 
//    document.getElementById("funciones").innerHTML=funciones;
//    acordion();
}


function callbackError(XMLHttpRequest, textStatus, errorThrown)
{
    alert(errorThrown);
}

$(function () {
    $("#logo_cine").click(function () {                
        window.location = "index.jsp"; 
    });
});

$(function () {
    $("#ciudades").change(function () {                
        //window.location = "index.jsp"; 
        cd = this.value;
        if(cd != 0){
            var act = new Object();
            act.accion = 2;
            act.ciudad = cd;
        
            try{
                $.ajax({
                    type: "POST",
                    url: "ConsultaCarteleraServlet",
                    data: JSON.stringify(act),
                    error: callbackError,
                    success: cargaDatosEmpresas
                });
            } catch(ex) {
                alert(ex.description);
            }
        }
    });
});

$(function () {
    $("#empresas").change(function () {                
        //window.location = "index.jsp";         
        emp = this.value;
        if(emp !=0){
    
            var act = new Object();
            act.accion = 3;
            act.ciudad = cd;
            act.empresa = emp;
        
            try{
                $.ajax({
                    type: "POST",
                    url: "ConsultaCarteleraServlet",
                    data: JSON.stringify(act),
                    error: callbackError,
                    success: cargaDatosSucursales
                });
            } catch(ex) {
                alert(ex.description);
            }
        }
    });
});

$(function () {
    $("#btn_Consultar").click(function () {        
        if(document.getElementById("ciudades").value != 0
            && document.getElementById("empresas").value != 0
            && document.getElementById("sucursales").value != 0){
            pagina = 2;
            suc = document.getElementById("sucursales").value;
            window.location = "Cartelera.jsp?id=cartelera&cd="+cd+"&emp="+emp+"&suc="+suc;
        } else {
            alert("Error");
        }
    });
});

//tooltip
$(function() {
    $( document ).tooltip();
});

//boton bonito
$(function() {
    $("input[type=submit], button")
    .button()
    .click(function( event ) {
        event.preventDefault();
    });
});

//Cuando se selecciona la cantidad
$(function () {
    $("input[type=number]").click(function () {                
        var costo = this.id;
        if(costo == 45){
            var cantidad = this.value;
            var subtotal30 = $("#subtotal30").text();
            var subtotal = cantidad * costo;
            $("#subtotal45").hide().fadeIn(400).text(subtotal);
            $("#total").hide().fadeIn(400).text(subtotal + parseInt(subtotal30));
        } else {
            var cantidad = this.value;
            var subtotal45 = $("#subtotal45").text();
            var subtotal = cantidad * costo;
            $("#subtotal30").hide().fadeIn(400).text(subtotal);
            $("#total").hide().fadeIn(400).text(subtotal + parseInt(subtotal45));
        }
        
    });
});

function initializeMap() {
    var myOptions = {
        zoom: 16,
        center: new google.maps.LatLng(altitud, longitud),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map($('#map')[0], myOptions);
    
    new google.maps.Marker({    
        position: new google.maps.LatLng(altitud, longitud), 
        map: map,
        title: nombreCine,
        clickable: true,
        icon: 'images/icono.png'
    });
}
 
//accordion
function acordion(){
    $( "#accordion" ).accordion();
    
    $("#accordion").bind('accordionchange', function(event, ui){
        if(iu.newContent.att('id') == 'tabTwo' && !map){
            map = initializeMap();
        }
    });   
}